// components/tabs/tabs.js
Component({
  options:{
    multipleSlots:true
  },
  /**
   * 组件的属性列表
   */
  properties: {
    tabs : {
      type : Array,
      value: []
    }
  },
  /**
   * 组件的初始数据
   */
  data: {
    // 控制选中的tabs
    currentTabIndex : 0,
  },

  /**
   * 组件的方法列表
   */
  methods: {
      // 点击导航栏把index保存下来
      handleTabchange(event){
        // 获取所点击元素的下标
        let index = event.currentTarget.dataset.index
        this.setData({
          currentTabIndex: index
        })
        // 将子组件点击的下标传给父组件
        this.triggerEvent("change",index)
      },
      handleTouchMove(event) {
        const direction = event.direction
        const currentTabIndex = this.data.currentTabIndex
        const targettabIndex = currentTabIndex + direction 
        if(targettabIndex < 0 || targettabIndex > this.data.tabs.length - 1) {
          return
        }
        const customEvent = {
          currentTarget : {
            dataset : {
              index : targettabIndex
            }
          }
        }
        this.handleTabchange(customEvent)
      }
  }
})
